ECS实例健康诊断能全面检查实例的系统状态、网络状况及磁盘状况,以便及时了解健康情况并处理常见问题。此外,针对需定期为一批实例进行健康检查的需求,提供了预设的OOS公共模板(ACS-ECS-ScheduleToExecuteECSDiagnosticReports)。利用OOS的强大自动化运维能力,该模板可简化定时与批量诊断实例的过程,并方便获取异常报告。
操作步骤
创建执行
登录系统运维管理控制台,左侧导航栏选择 。
搜索
ACS-ECS-ScheduleToExecuteECSDiagnosticReports
,单击创建执行。配置基本信息页面,填写参数。
执行描述(可选):用户自定义的描述文本信息。
模板类型:公共任务模板。
模板选择:
ACS-ECS-ScheduleToExecuteECSDiagnosticReports
。执行模式:自动执行。
资源组(可选):自定义OOS任务所属的资源组。
标签(可选):自定义OOS任务的标签。
单击下一步:设置参数,进入设置参数页面。
定时类型:
立即执行:创建任务后立即执行,不会周期性重复执行。
仅在指定时间执行一次:仅在指定时间执行一次。
周期性重复执行:按照cron格式指定的时间周期性执行。
重复频率的时区:默认是东八区北京时间。
规则结束时间:任务结束的时间,默认2099-12-01 08:00:00。
地域ID:指定运行的阿里云地域,可以通过DescribeRegions - 查询地域列表查询。
targets: 可以按照多种方式选择,并且在每次运行时,具体执行的实例列表会根据指定的条件重新刷新。
手动选择实例:直接指定运行的一个或者多个实例。
指定实例标签:通过设置匹配的标签,动态指定目标实例。
指定实例资源组:通过设置资源组的标签,动态指定一组实例。
上传csv文件:人工上传实例列表。
选择全部:该地域下所有实例。
指定配置清单条件:可以指定匹配多个条件的实例,需要了解OOS语法。
rateControl: 批量执行时的并发控制
速率控制类型:并发控制
并发速率:一次执行多少个实例
最大错误次数:执行几次或者百分比的失败次数则停止
设置执行的RAM角色:OOS以什么角色执行对应的操作和API。可以参考为OOS服务设置RAM权限进行设置,其中执行批量实例健康诊断,需要以下三个API的操作权限:
"ecs:CreateDiagnosticReport" "ecs:DescribeDiagnosticReportAttributes" "ecs:DescribeInstances"
是否通知异常结果(可选):默认不通知。
说明该通知只支持类钉钉的协议格式。
通知地址(可选):类钉钉应用的Webhook地址
通知@(可选):通知的内容中添加@人员。
单击下一步:确定,单击创建。
查看历史执行结果
登录系统运维管理控制台,左侧导航栏选择 。
选择需要查看的记录,单击详情,执行结果是输出有异常的实例信息和异常信息,更进一步的详细说明可以通过
IssueId
在诊断指标与诊断结果条目说明通过查询诊断结果条目ID
获取。例如:- ResourceId: i-uf659o9rxxey22fpw1do HasPublicIp: true MetricSetId: dms-instancedefault MetricResult: Status: Finished MetricId: Instance.SGIngress Issues: Issue: - OccurrenceTime: 2024-04-11T09:37Z Additional: '{"Policy":"drop","Port":"22","Service":"SSH","Effect":"INSTANCE-SG-SSH-DISABLED","Protocol":"TCP","Direction":"ingress"}' Severity: Info IssueId: Instance.Network.SSHPortRuleDeny - OccurrenceTime: 2024-04-11T09:37Z Additional: '{"Policy":"drop","Port":"-1","Service":"PING","Effect":"INSTANCE-SG-PING-DISABLED","Protocol":"ICMP","Direction":"ingress"}' Severity: Info IssueId: Instance.SgRule.PingPortDeny Severity: Info MetricCategory: ECSService.SecurityGroup
根据
IssueId:Instance.Network.SSHPortRuleDeny
获取的详细说明